Computer-aided design (CAD) software allows a user to construct and manipulate complex three-dimensional (3D) models. A number of different modeling techniques can be used to create a 3D model. One such technique is a solid modeling technique, which provides for topological 3D models where the 3D model is a collection of interconnected topological entities (e.g., vertices, edges, and faces). The topological entities have corresponding supporting geometrical entities (e.g., points, trimmed curves, and trimmed surfaces). The trimmed surfaces correspond to topological faces bounded by edges. Hereinafter, the terms vertex, edge, and face will be used interchangeably with their respective, corresponding geometric entities.
In many CAD systems, curves and surfaces are generally represented as analytical or spline curves and surfaces (e.g., Bezier curves and surfaces), and in particular as non-uniform rational b-spline (NURBS) curves and surfaces. Additionally, some CAD systems utilize tessellated models whereby the surfaces of a model are faceted by sub-dividing each surface into triangular or other polygonal shapes thereby creating a mesh; hereinafter such a surface shall be referred to as a subdivision surface.
Subdivision surfaces may be used to define solid and surface models. The mesh may be referred to as a cage and by manipulating the cage, the shape of the underlying surface is modified. To manipulate and thereby modify the sub-division cage, a user is required to drag and position parts of the cage to achieve a required result. This involves quite a bit of user interaction and the performance of Euler operations for each modification, which may be computationally intensive and reduce the level of user interaction that is possible.
Working with sub-division models requires a certain level of understanding about how the structure of the cage relates to the resulting freeform shape. Moreover, traditional commands for adding to and manipulating a sub-division cage are targeted at a mature and educated audience. The present invention addresses these problems by enabling a computer system to make these tasks intuitive enough to engage a child (e.g., between the ages of 4 and 14), and thereby, enhances the scope of CAD system offerings.